package OperationBancaire;

import _Banque.OperationBancaire;
import _Banque._Banque;
import _Banque.interfaces.IBanque;
import _Tests.Tests;

//
// IUT de Nice / Departement informatique / Module APO-C++
// Annee 2008_2009 - Package _Banque
//
// Classe OperationBancaire - Tests unitaires des accesseurs
//									 (Cas nominaux)
//
// Auteur : A. Thuaire
//
public class T_OperationBancaire_N2 implements IBanque {

	public static void main(String[] args) throws Throwable
	{
		Tests.Begin("_Banque.OperationBancaire", "1.0.0");
		
			Tests.Design("Controle des accesseurs de consultation", 3);
		  
				OperationBancaire op1 = new OperationBancaire(VERSEMENT,    "Cheque 8002179", 2500);
				OperationBancaire op2 = new OperationBancaire(RETRAIT,      "Guichet 6549",   250.75f); 
				OperationBancaire op3 = new OperationBancaire(REMUNERATION, "2009/03",        50.25f); 

				Tests.Case("Methode numeroOperation");
				{
					Tests.Unit(1000001, op1.getNumeroOperation());
					Tests.Unit(1000002, op2.getNumeroOperation());
					Tests.Unit(1000003, op3.getNumeroOperation());
				}

				Tests.Case("Methode typeOperation");
				{
					Tests.Unit('V', op1.getTypeOperation());
					Tests.Unit('R', op2.getTypeOperation());
					Tests.Unit('I', op3.getTypeOperation());
				}

				Tests.Case("Methode intituleOperation");
				{
					Tests.Unit("Cheque 8002179", op1.getIntituleOperation());
					Tests.Unit("Guichet 6549",   op2.getIntituleOperation());
					Tests.Unit("2009/03",        op3.getIntituleOperation());
				}

				Tests.Case("Methode dateOperation");
				{
					Tests.Unit(_Banque.dateCourante(), op1.getDateOperation());
					Tests.Unit(_Banque.dateCourante(), op2.getDateOperation());
					Tests.Unit(_Banque.dateCourante(), op3.getDateOperation());
				}

				Tests.Case("Methode montantOperation");
				{ 	  
					Tests.Unit(2500.0f, op1.getMontantOperation());
					Tests.Unit(250.75f, op2.getMontantOperation());
					Tests.Unit(50.25f,  op3.getMontantOperation());
				}

		Tests.End();
	}


}
